Importing Pre-packaged Software into Lisp: Experience with Arbitrary-Precision Floating-Point Numbers
نویسنده
چکیده
We advocate the use of a Common Lisp as a central organizing environment for building scientific computing systems, based on its debugging features, interactivity, memory model, existing code-base for computer algebra and user interfaces, and its ability to dynamically load modules written in other languages. In this paper we primarily address one example of mixing pre-existing (non Lisp) code into this system: an elaborate FORTRAN system written by David Bailey for arbitrary-precision floatingpoint numeric calculation. We discuss the advantages and disadvantages of wholesale importing such a system into Lisp. The major advantage is being able to use state-of-the art packaged software interactively while overcoming the disadvantages caused by FORTRAN’s traditional batch orientation and weak storage model. In this paper we emphasize in particular how effective use of imported systems may require one to address the contrast between the functional (Lisp-like) versus state-transitionbased (Fortran-like) approaches to dealing with compound objects. While our main example is high-precision floats, we mention other highly-useful packages including those for simulation, PDE solutions, signal processing, statistical computation, linear algebra (LAPACK) that have also been used with Lisp. We provide pointers to additional applications of this
منابع مشابه
Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming
Advocating the use of a Common Lisp as a central organizing environment for building scientific computing systems runs counter to the conventional wisdom, which suggests that languages like Fortran, C++, or even Java, are more suitable. We prefer Lisp based on its debugging features, interactivity, memory model, existing code-base for computer algebra and user interfaces, and for purposes of th...
متن کاملQuad Double Arithmetic in Lisp
In a numerical calculation sometimes we need higher-than double-precision floating-point arithmetic to allow us to be confident of a result. One alternative is to rewrite the program to use a software package implementing arbitrary-precision extended floating-point arithmetic such as ARPREC or MPFR, and try to choose a suitable precision. Such an arithmetic scheme, in spite of helpful tools, ma...
متن کاملA Parameterized Floating-Point Formalizaton in HOL Light
We present a new, open-source formalization of fixed and floating-point numbers for arbitrary radix and precision that is now part of the HOL Light distribution [10]. We prove correctness and error bounds for the four different rounding modes, and formalize a subset of the IEEE 754 [1] standard by gluing together a set of fixed-point and floating-point numbers to represent the subnormals and no...
متن کاملNew Algorithms for Efficient Taylor Model Operations including Arbitrary Precision
Within the framework of Taylor Model implementations, the multiplication of Taylor models is the most time intensive operation, and thus benefits most from performance improvements. We note that in the mulplication, every coefficient is utilized repeatedly in various products, and so it is possible to do limited pre-processing of the coefficients without performance penalty due to the preproces...
متن کاملDesign and Implementation of a High Precision Arithmetic with Rigorous Error Bounds
In this paper we present the design of a rigorous, high precision floating point arithmetic. The algorithms presented are implementation in FORTRAN, and are made available through the COSY INFINITY rigorous computation package. The three design objectives for these high precision intervals are high speed, particularly for the elementary operations, absolutely rigorous treatment of roundoff erro...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000